const proModule = {
  // 将整个模块放到命名空间下,使用getters，mutations，actions的时候都需要加上模块名了
  namespaced: true,
  // state,里面写整个项目的全局数据
  state() {
    return {
      proList: [],
    };
  },

  // 相当于是vuex的计算属性
  getters: {},

  // mutations里面是放方法的，方法是用来修改state的数据的
  mutations: {
    getProList(state, payload) {
      state.proList = payload.data;
    },
  },

  // actions里面放异步函数
  // actions的函数是不能修改仓库数据
  // 在actions里面只能去调用mutations的方法
  actions: {
    // 异步的数据请求
    getProListAsync({ commit }) {
      return new Promise((resolve, reject) => {
        fetch("http://121.89.205.189:3000/api/pro/list")
          .then((response) => response.json())
          .then((res) => {
            commit("getProList", res);
            resolve();
          });
      });
    },
  },
};

export default proModule;
